package com.bai.localshop.service;

import com.bai.localshop.pojo.dto.ProductUpdateDTO;
import com.bai.localshop.pojo.dto.ProductQueryDTO;
import com.bai.localshop.pojo.dto.ProductSaveDTO;
import com.bai.localshop.pojo.vo.ProductVO;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.util.List;

/**
 * 商品服务接口
 */
public interface ProductService {

    /**
     * 分页查询商品
     */
    <T> IPage<T> pageQuery(ProductQueryDTO requestParam,Class<T> voClass);

    /**
     * 根据ID查询商品
     */
    ProductVO getById(Long id);

    /**
     * 查询热门商品数据
     */
    List<ProductVO> getHotProduct();

    /**
     * 保存商品
     */
    void save(ProductSaveDTO requestParam);

    /**
     * 更新商品
     */
    void update(ProductUpdateDTO requestParam);

    /**
     * 删除商品
     */
    void deleteById(Long id);

    /**
     * 更新商品状态
     */
    void updateStatus(Long id, Integer status);


}


